c语言“!a<b”的结果到底是1还是0啊?

来源:百度知道 编辑:UC知道 时间:2024/06/17 07:21:28
a=10 b=20

结果为1

!运算比<优先,!a的值为0,0小于20,所以为1

a=10 b=20
!( a<b ) 等于 !(真) -- 假 (假是0)
!a<b 等于 (!a) < b 等于 0<20 -- 得真 (真是1)

#include <stdio.h>
#include <stdlib.h>
void main()
{
int a=10, b=20;
printf("TRUE = %d\n", 1==1 );
printf("FALSE= %d\n", 1==0 );
printf("%d\n", !a<b );
printf("%d\n", ! (a<b) );
}

打出:
TRUE = 1
FALSE= 0
1
0

结果未定义对a求反后与b比较

要具体看ab的值

结果为1

当然是1